# 第一阶段：构建阶段
FROM node:20-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制 package.json（或 package*.json），安装依赖
COPY package*.json ./
RUN npm install

# 复制所有代码到容器内
COPY . .

# 执行构建命令（确保在 package.json 中配置了 "build" 命令）
RUN npm run build

# 第二阶段：使用 Nginx 作为静态文件服务器
FROM nginx:alpine

# 拷贝构建产物到 Nginx 默认目录（nginx 默认读取内容为 /usr/share/nginx/html）
COPY --from=builder /app/dist /usr/share/nginx/html

# 暴露容器内的 80 端口
EXPOSE 80

# 启动 Nginx，保持进程在前台运行
CMD ["nginx", "-g", "daemon off;"]